今天是鐵人賽第九天。前八天,我們一路從「AI 巨輪下的恐懼」寫到「API 工地開張」,該踩的坑踩了不少,該冒的煙也冒了不少。今天暫時放下手中的鋤頭(我怎麼老是在休息),改戴上安全帽與放大鏡,來一場知識地基的檢修。因為我很清楚:如果基本理論沒打穩,後面再蓋的摩天大樓遲早會傾斜。這一天的重點,就是從 Context Engineering 的理論出發,結合前面八天的實戰,復盤哪些地方需要調整與優化(其實是李宏毅開課了),先來補齊基礎知識。
李宏毅老師一開始就提醒:「這堂課沒有訓練任何模型,訓練的其實是人」。這句話點破了核心 —— 我們能掌控的不是模型,而是輸入給模型的「脈絡」。
傳統的 Prompt Engineering,常常像是魔法咒語:
但這些「神奇咒語」隨著模型進化已經逐漸失效。原因很簡單:現代模型應該「隨時全力思考」,不該靠咒語來開關腦袋。
因此,Context Engineering 更像工程學(這個終於給我比較像工程師的感覺):
從課程裡,整理出一個「Context 七件套」:
這讓我重新審視前幾天的做法。到目前為止,我大多是把需求丟進去,附上範例和回饋,屬於「User Prompt + Examples + Dialogue History」的組合。
但隨著專案越來越大,這樣做就會出現三大問題:
文件中提到三大招數:挑選(Select)、壓縮(Compress)、多 Agent(Multi-Agent)。
👉 復盤:我們在第 7~8 天把整份 requirement.md 丟進去,雖然有效,但成本高、效率低。接下來應該拆成小段,讓模型只看與當前 API 有關的部分。
👉 復盤:我們的 0921、0922.log 其實就是原始聊天紀錄,直接餵進模型會浪費 token。應該先人工/程式化做摘要,再丟。
👉 復盤:到目前為止,都是「單兵作戰」:我 + Codex。未來可以試「多 Agent 分工」,例如讓一個專門做測試生成,另一個專門檢查安全性。
文件特別強調:「能讀百萬 token,不代表能懂百萬 token」。這提醒我前幾天遇到的問題 —— 當我把所有 API spec、entities、us-001 全部丟進去,模型反而回得四不像。
這其實就是 Context Rot 或 Lost in the Middle:
👉 改進策略:
把 Context Engineering 理論套回我們的專案,可以得到一個有趣的對照表:
工地流程 | AI Context 對應 | 我們的現況 | 改進方向 |
---|---|---|---|
藍圖 (需求文件) | User Prompt + Examples | 有,但一次丟太大 | 切卡片,分段餵 |
施工規範 (SOP) | System Prompt | 幾乎沒用 | 制定標準 system prompt(語言、框架、風格) |
工地日誌 (log) | Dialogue History | 全部保留,太長 | 做摘要,壓縮 |
倉庫 (材料) | Long-term Memory | 用 md/log 代替 | 建 DB + RAG |
外包廠商 (供應) | External Knowledge | 偶爾用搜尋 | 導入 RAG pipeline |
工人 (多工班) | Multi-Agent | 我+Codex 雙打 | 嘗試多 Agent 分工 |
安全檢查 (驗收) | Reasoning + Tool Use | 主要靠測試 | 讓 AI 自產測試 + 人審查 |
經過今天的知識復盤,我決定未來幾天要做這些改進:
建立 System Prompt 範本:
需求卡片化 + Context 切片:
Log 摘要化:
導入 RAG:
嘗試 Multi-Agent:
今天的第九天日誌不像前幾天有一堆程式碼,而是把鏡頭拉遠,來看大局:
一句話收尾:
👉 第九天,我不是在搬磚,而是在檢查地基。
因為我知道,明天開始要蓋的樓層會越來越高,如果不先修正,最後大樓會變成比薩斜塔。